#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
char a[22][22];
int i, j, w, h, dir[4][2] = { -1,0,1,0,0,-1,0,1 };
int dfs(int x, int y)
{
	int sum = 1;
	if (a[x][y] == '#' || x < 0 || y < 0 || x >= h || y >= w)
	{
		return sum;
	}
	if (a[x][y] == '.')
	{
		sum++;
		a[x][y] = '#';
	}
	for (i = 0; i < 4; i++)
	{
		dfs(x + dir[i][0], y + dir[i][1]);
	}
}
int main()
{
	int sum;
	while (scanf("%d %d", &w, &h) != EOF)
	{
		if (w == 0 && h == 0)
		{
			break;
		}
		else
		{
			for (i = 0; i < h; i++)
			{
				scanf("%s", a[i]);
			}
			for (i = 0; i < h; i++)
			{
				for (j = 0; j < w; j++)
				{
					if (a[i][j] == '@')
					{
						sum = dfs(i, j);
					}
				}
			}
			printf("%d\n", sum);
		}
	}
	return 0;
}